Computer-aided design (CAD) software allows a user to construct and manipulate complex three-dimensional (3D) models. A number of different modeling techniques can be used to create a 3D model. These techniques include solid modeling, wire-frame modeling, and surface modeling. Solid modeling techniques provide for topological 3D models, where the 3D model is a collection of interconnected topological entities (e.g., vertices, edges, and faces). The topological entities have corresponding supporting geometrical entities (e.g., points, trimmed curves, and trimmed surfaces). The trimmed surfaces correspond to topological faces bounded by edges. Wire-frame modeling techniques, on the other hand, can be used to represent a model as a collection of simple two-dimensional (2D) or 3D lines, whereas surface modeling can be used to represent a model as a collection of exterior surfaces. CAD systems may combine these and other modeling techniques, such as parametric modeling techniques. Parametric modeling techniques can be used to define various parameters for different features and components of a model, and to define relationships between those features and components based on relationships between the various parameters.
CAD systems may also support two-dimensional (2D) objects that are 2D representations of 3D objects. Two- and three-dimensional objects are useful during different stages of a design process. Three-dimensional representations of a model are commonly used to visualize a model in a physical context because the designer can manipulate the model in 3D space and can visualize the model from any conceivable viewpoint. Two-dimensional representations of a model are commonly used to outline a top-level model design and prepare and formally document the design of a model.
A design engineer is a typical user of a 3D CAD system. The design engineer designs physical and aesthetic aspects of 3D models, and is skilled in 3D modeling techniques. Using a 3D CAD system, the design engineer creates part models and may assemble the parts into a model of a subassembly. A subassembly may also consist of other subassemblies. An assembly is designed using parts and subassemblies. Parts and subassemblies are hereinafter collectively referred to as components.
Design engineers may choose to create an assembly using a top-down design method, whereby one or more features of a part are defined by an object in an assembly, such as a layout sketch or the geometry of another part. The design intent (e.g., sizes of features, placement of components in an assembly, and proximity of parts to one another) originates from a top-level design of an assembly for example, and permeates downward (e.g., into the parts and the features making up the parts), hence the phrase “top-down design.”
A layout sketch is one or more 2D sketches that capture the design intent of a model by showing the components of the model and the positions of those components with respect to one another, and typically is created before creating 3D parts. Moreover, often the layout sketch is created by one person and the 3D parts by another person, and, if the layout sketch and 3D parts are not harmonized (whether created by the same or different designers), the assembly will no longer represent the design intent reflected in the layout sketch.
In prior implementations of a layout sketch workflow, all of a 3D part's geometry (and the corresponding 2D geometry in a layout sketch) may be located a substantial distance from the 3D part's (or layout sketch) origin; moreover, due to the orientation of the 3D part geometry with respect to the 3D part's origin, the 3D part may appear to be rotated about an arbitrary axis when viewed in the industry standard “front,” “top,” or “right” views. Such placements and orientations with respect to a non-optimal origin can increase the difficulty of modeling a 3D part because the origin serves as a convenient reference and subsequent translations and rotations applied to the 3D part may be computed with respect to the non-optimal origin. Ideally, the origin of a part's local coordinate system should be at a point on the part about which the part is meant to rotate (e.g., the geometric center of the part), if the part is intended to rotate. Placement of the origin is important to the symmetry of a part and to mating relationships that allow a part to slide, rotate, or be fixed in place. Additionally, the origins and orientations of the parts may cause results of some mass properties calculations to be difficult for the design engineer to interpret if the origins of the various local coordinate systems of the parts are located at some distance and/or oriented in an arbitrary way from their respective parts.
A design engineer may desire to use a layout sketch or portion thereof as a guide to the creation of a 3D part. Generally in current state-of-the-art CAD systems, when converting a layout sketch to one or more 3D parts, the design engineer performs the steps necessary to mate (i.e., to create a relationship between) the origins of the parts that make up the assembly or subassembly to correctly place the 3D parts therein. More specifically, the origins of each of the 3D parts is mated to the origin of the assembly However, the 3D parts then cannot move relative to each other because each 3D part has an element constrained to the same origin, which prevents motion visualization and analysis studies to be properly carried out. The design engineer can choose to manually mate the 3D parts in the 3D assembly using part geometry to capture the desired motion degrees of freedom, however, this takes additional time and the mating constraint is prone to fail in the future if geometry of one or both of the mated parts changes, requiring the design engineer to modify one or more constraints, the design, or both, thereby needing to spend even more time designing the assembly.
Further, if the design engineer created a motion visualization or motion analysis study in the 2D environment and desires a similar motion visualization or motion analysis study in the 3D environment, the design engineer typically must create, from the beginning, the motion visualization or motion analysis study again in the 3D environment.
In general, in current state-of-the-art CAD systems, the design engineer creates 3D parts, adds a copy of the layout sketch into each part, inserts the parts into an assembly, and mates the origins of the parts together, thereby attempting to replicate the constraints of the layout sketch, which prevents proper motion of the 3D parts as described. The length of time necessary to convert a 2D layout sketch to a 3D assembly of parts is based on the number of constraints that need to be established, the number of different steps in the conversion process (which may be determined by the number of mouse clicks), the origins of the various parts and the calculations thereof, the complexity of the 2D layout sketch, and the desired 3D assembly to be created. This process can be tedious for a design engineer to perform since such assemblies can have hundreds if not thousands of parts. Automating these tasks would have time-saving advantages, including the advantage of designing an assembly using a layout sketch where changes to the layout sketch cause automatic updates to the assembly and assembly components.
Therefore, to increase productivity, current state-of-the-art CAD systems would benefit from a system and method for providing an automated work flow for creating 3D part models in a 3D environment from a 2D layout sketch. Automatically creating relationships between the 3D part models similar to those that exist in the 2D layout sketch and providing a means to automatically create 3D parts from a 2D layout sketch would reduce the amount of time spent and effort expended by a design engineer to use already created 2D content to create 3D content and thereby enhance the capabilities of a computerized modeling system.